package com.web.portal.controller.portal;

import com.web.portal.controller.admin.ProjectAdminApi;
import com.web.portal.response.ResponseResult;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;

/**
 * 项目
 */
@Slf4j
@RestController
@Api(tags = "项目查看")
@RequestMapping("/project")
public class ProjectController {

    @Autowired
    private ProjectAdminApi projectAdminApi;

    /**
     * 获取 项目
     * <p>
     * 使用的case:修改的时候，获取一下。填充弹窗
     * 不获取也是可以的，从列表里获取数据
     * <p>
     * 权限：管理员权限
     *
     * @param projectId
     * @return
     */
    @ApiOperation(value = "用 id 获取 项目信息")
    @GetMapping("project_participant/{projectId}")
    public ResponseResult getProjectAndProjectParticipant(@PathVariable("projectId") String projectId) {
        return projectAdminApi.getProjectAndProjectParticipant(projectId);
    }

    /**
     * 获取 项目
     * <p>
     * 使用的case:修改的时候，获取一下。填充弹窗
     * 不获取也是可以的，从列表里获取数据
     * <p>
     * 权限：管理员权限
     *
     * @param projectCode
     * @return
     */
    @GetMapping("find_project/{project_code}")
    @ApiOperation(value = "用 project_code 获取 项目信息")
    public ResponseResult getProjectAndParticipantByProjectCode(@PathVariable("project_code") String projectCode) {
        return projectAdminApi.getProjectAndParticipantByProjectCode(projectCode);
    }

    //3 查询带分页
    @ApiOperation(value = "项目查询带分页")
    @PostMapping("find_project/{current}/{limit}")
    public ResponseResult findProject(@PathVariable long current,
                                      @PathVariable long limit) {
        return projectAdminApi.findProject(current, limit);
    }


}
